package com.gm.manager.module.login.service;

import com.gm.manager.common.domian.RP;
import com.gm.manager.module.login.entity.LoginBack;
import com.gm.manager.module.login.entity.UpdatePassword;

import javax.servlet.http.HttpServletRequest;

/**
 * @author zhuZhaoYang
 * @date 2021/8/7 14:21
 */
public interface LoginService {
    /**
     * 登录并返回信息
     *
     * @param username 用户名
     * @param password 密码
     * @param code     验证码
     * @param request  httpRequest
     * @return 当前登录用户信息
     */
    LoginBack login(String username, String password, String code, HttpServletRequest request);

    /**
     * 验证token
     *
     * @param token token
     * @return 当前登录用户信息
     */
    LoginBack checkLogin(String token);

    /**
     * 登出
     *
     * @param id userId
     * @return 是否成功
     */
    int logout(Integer id);

    /**
     * 修改密码
     *
     * @param newPassword 密码信息
     * @param userId         用户Id
     * @return 是否成功
     */
    int updatePassword(String newPassword, Integer userId,String username);
}
